More and more people are using computing devices, e.g. smart phones, tablets and laptop computers, to access, play, and edit video. But despite the convenience, video customization, particularly view switching, remains difficult. View switching refers to changing the view of the video to focus on one particular area of the video, such as by cropping the video to zoom on a particular area of the video. For example, a user streams a video of a basketball game but wants to change the scene. View switching allows the user to quickly and seamlessly zoom in to a particular basketball player in the scene, or zoom out to view the entire court. Conversely, another user might focus on another element in the scene such as a second player.
Generally, view switching impacts the quality of the video composition. Composition refers to the way various elements in a scene are arranged within a video. Compositional quality refers to how well the presentation of the arrangement of the elements appear to a user. By switching from viewing the entire video to a particular area (e.g., from the entire basketball scene to only the player), the compositional quality is affected. The user's experience can be degraded if the compositional quality is degraded (e.g., if the switching views the body of the basketball player only without his head, the presented video would have a poor compositional quality).
Computing devices can assist a person in performing view switching, for example, via a user interface. But existing solutions do not recommend views with improved compositional quality in real-time and may unnecessarily use computing resources. Real-time refers to the ability to apply a customization within a timeframe that causes no perceptible delay to the user. For example, existing solutions may not be able to apply a real-time customization on a live video or a video stream such as a YouTube® video. Existing solutions may instead require cumbersome saving and subsequent editing of the video when otherwise unnecessary, thereby precluding broadcasting of the video to others or performing video customization in real-time. For example, the original video of the basketball scene is stored as a first video file. This file is edited to create another version that focuses on the player. This other version is stored as a second video file. In this way, a user can select the first video file to view the entire basketball court and can switch to the second video file to zoom onto the basketball player. Such solutions also unnecessarily consume resources such as processing power, memory, cache, and power because computing resources are required to generate, store, and transmit the different video files to support video customization for different users.
Accordingly, solutions are needed to help users quickly, easily, and efficiently perform view switching without wastefully consuming computing resources.